home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio 2000 #2 / Ham Radio 2000 - Volume 2.iso / HAMV2 / MISC / HCAL-27 / RESICOP.BAS (.txt) < prev    next >
Encoding:
GW-BASIC  |  1997-01-29  |  3.0 KB  |  110 lines

  1. 10  'RESICOP - Resistor, Copper Wire - 19 JUL 95 rev. 28 SEP 96
  2. 20  IF EX$=""THEN EX$="EXIT"
  3. 30  CLS:KEY OFF
  4. 40  COLOR 7,0,1
  5. 50  PI=3.14159
  6. 60  UL$=STRING$(80,205)       'underline
  7. 70  ER$=STRING$(80,32)        'erase
  8. 80  U$="####.###"
  9. 90  DIM A(50)                 'AWG sizes (American Wire Gauge)
  10. 100  '
  11. 110  '.....AWG wire sizes
  12. 120  K#= (0.46/0.005)^(1/39)        'incremental multiplier
  13. 130  FOR Z=1 TO 50
  14. 140  N=Z+3
  15. 150  WIRE=0.46/K#^N         'wire diameter in inches
  16. 160  A(Z)=WIRE             'wire diameter in inches
  17. 170  NEXT Z
  18. 180  '
  19. 190  '.....start
  20. 200  CLS
  21. 210  COLOR 15,2
  22. 220  PRINT" RESISTOR - COPPER WIRE WOUND";TAB(57);"by George Murphy VE3ERP ";
  23. 230  COLOR 1,0:PRINT STRING$(80,223);
  24. 240  COLOR 7,0
  25. 250  PRINT " Press number in < > to choose standard units of measure:"
  26. 260  PRINT UL$;
  27. 270  PRINT "  < 1 >  Metric"
  28. 280  PRINT "  < 2 >  U.S.A./Imperial"
  29. 290  PRINT UL$;
  30. 300  PRINT "    or press <0> to EXIT....."
  31. 310  Z$=INKEY$
  32. 320  IF Z$="0"THEN CLS:RUN EX$
  33. 330  IF Z$="1"THEN UM=25.4:UM$="mm.":GOTO 360
  34. 340  IF Z$="2"THEN UM=1:UM$="in.":GOTO 360
  35. 350  GOTO 310
  36. 360  VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
  37. 370  GOTO 450
  38. 380  '
  39. 390  '.....display input
  40. 400  LOCATE CSRLIN-1:PRINT STRING$(7,32)
  41. 410  LOCATE CSRLIN-1,39:PRINT STRING$(40,32)
  42. 420  LOCATE CSRLIN-1,39:PRINT ".......";USING U$;Q;
  43. 430  RETURN
  44. 440  '
  45. 450  '.....input data
  46. 460  INPUT " ENTER: Desired Resistance.............(ohms)";R
  47. 470  Q=R:GOSUB 390:PRINT " ohms"
  48. 480  INPUT " ENTER: Maximum Current................(amps)";B
  49. 490  Q=B:GOSUB 390:PRINT " Amp."
  50. 500  PRINT "        Maximum Watts........................";USING U$;B^2*R
  51. 510  C=B*250
  52. 520   FOR Z=50 TO 1 STEP-1
  53. 530    CM=(A(Z)*10^3)^2
  54. 540    IF CM>C THEN W=Z:MIN=A(Z):GOTO 560
  55. 550   NEXT Z
  56. 560  PRINT TAB(9);"Minimum wire diameter................";USING U$;MIN*UM;
  57. 570  PRINT " ";UM$;"  (#";W;"AWG)"
  58. 580  LN=CSRLIN
  59. 590  IF UM=25.4 THEN 740
  60. 600  '
  61. 610  PRINT " Press number in < > to indicate how you wish to select wire size:"
  62. 620  PRINT UL$;
  63. 630  PRINT "   < 1 >  by DIAMETER"
  64. 640  PRINT "   < 2 >  by AWG #"
  65. 650  Z$=INKEY$
  66. 660  IF Z$="1"OR Z$="2"THEN VIEW PRINT LN TO 24:CLS:VIEW PRINT:LOCATE LN:GOTO 680
  67. 670  GOTO 650
  68. 680  IF Z$="1"THEN 740
  69. 690  PRINT " ENTER: AWG wire gauge #";:INPUT Z:DIA=A(Z)
  70. 700  LOCATE CSRLIN-1:PRINT ER$;:LOCATE CSRLIN-1
  71. 710  PRINT "        Selected Wire Gauge..............AWG#";Z
  72. 720  GOTO 770
  73. 730  '
  74. 740  PRINT " ENTER: Wire diameter (";UM$;")";:INPUT DIA:DIA=DIA/UM
  75. 750  LOCATE CSRLIN-1:PRINT ER$;:LOCATE CSRLIN-1
  76. 760  '
  77. 770  OF=10371/(DIA*10^3)^2        'ohms per 1000 ft.
  78. 780  '
  79. 790  L#=R/OF*10^3*12              'length in inches
  80. 800  PRINT "        Selected Wire Diameter...............";USING U$;DIA*UM;
  81. 810  PRINT " ";UM$
  82. 820  IF DIA >=INT(MIN*10^3)/10^3 THEN 860
  83. 830  BEEP:COLOR 0,7:PRINT " WARNING! ";
  84. 840  PRINT "Selected wire size is too small for specified maximum current "
  85. 850  COLOR 7,0
  86. 860  UUM=0.3048:UUM$=" -/Km"
  87. 870  IF UM=1 THEN UUM=1:UUM$=" -/M ft."
  88. 880  PRINT "        Unit resistance......................";USING U$;OF/UUM;
  89. 890  PRINT UUM$
  90. 900  IF UM=25.4 THEN UM=2.54:UM$="cm."
  91. 910  PRINT "        Length of wire.......................";USING U$;L#*UM;
  92. 920  PRINT " ";UM$
  93. 930  GOSUB 970
  94. 940  GOTO 190
  95. 950  END
  96. 960  '
  97. 970  'HARDCOPY
  98. 980  GOSUB 1090:LOCATE 25,2:COLOR 14,6
  99. 990  PRINT " Press 1 to print screen, 2 to print screen & ";
  100. 1000  PRINT "advance paper, or 3 to continue.";:COLOR 7,0
  101. 1010  Z$=INKEY$:IF Z$="3"THEN GOSUB 1090:RETURN
  102. 1020  IF Z$="1"OR Z$="2"THEN GOSUB 1090:GOTO 1040
  103. 1030  GOTO 1010
  104. 1040  FOR QX=1 TO 24:FOR QY=1 TO 80
  105. 1050  LPRINT CHR$(SCREEN(QX,QY));
  106. 1060  NEXT QY:NEXT QX
  107. 1070  IF Z$="2"THEN LPRINT CHR$(12)
  108. 1080  GOTO 980
  109. 1090  LOCATE 25,1:PRINT STRING$(80,32);:RETURN
  110.